<!--
 * @Description:
 * @Author: dh
 * @Date: 2021-08-19 17:18:39
 * @LastEditors: dh
 * @LastEditTime: 2024-09-26 15:44:44
-->
<!doctype html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>Document</title>
	</head>

	<body>
		<script>
			// URLSearchParams 可以查询修改 url 查询字符串
			const qs = new URLSearchParams('?name=deng&age=20&age=10&type=1&sex');
			for (const key of qs) {
				console.log(key);
				//  ["name", "deng"]
				//  ["age", "20"]
			}

			qs.get('name'); // deng

			//  获取指定搜索参数的所有值，返回是一个数组。
			qs.getAll('name'); // deng

			qs.has('name'); // true

			qs.set('name', 'hong'); //  qs.toString() 返回原始字符串

			qs.delete('type'); //  qs.toString() 返回原始字符串

			// 插入一个指定的键/值对作为新的搜索参数。
			qs.append('like', 'xinxin');

			// 返回此对象包含了键/值对的所有键名。
			qs.keys();

			qs.values(); // 获取所有参数值

			qs.entries(); // 获取键值对，数组形式

			/* ======================================================================================================= */

			const urlObj = new URL(location.href);
			// 获取指定参数 ie不支持
			function getQueryString(key) {
				return urlObj.searchParams.get(key);
			}
		</script>
	</body>
</html>
